module Personale::AssenzePersonaleHelper
  def assenze_personale
    data = ""
    Personale.all(:conditions => ["personale.id IN (select personale_id FROM rapporti_di_lavoro WHERE (rapporti_di_lavoro.data_fine IS NULL) OR rapporti_di_lavoro.data_fine > ?)", 1.day.ago.to_date], :order => 'concat(cognome, nome) ASC').each do |i|
      data += '{ "name": "' + "#{i.cognome} #{i.nome}" + '",'
      data += '"desc": "",'
      data += '"values": ['
      
      AssenzaPersonale.all(:conditions => ["personale_id = ? AND data_fine > ?", i.id, 2.month.ago.to_date]).each do |a|
        data += '{'
        data += '"from": "/Date(' + "#{(a.data_inizio + 1).to_time.to_i}000" + ')/",'
        data += '"to": "/Date(' + "#{(a.data_fine + 1).to_time.to_i}000" + ')/",'
        data += '"desc": "<b>' + "#{a.tipo_assenza.name}" + '</b><br>'
        data += '<b>Periodo</b>: dal ' + "#{a.data_inizio.to_date}" + ' al ' + "#{a.data_fine.to_date}" + '",'
        
        data += '"customClass": "' + "#{a.tipo_assenza.css_class}" + '",' #ganttRed, ganttGreen, ganttOrange
        data += '"label": "' + "#{a.tipo_assenza.name}" + '"'
        data += '},'
      end
      
      data += '] },'
    end
    return data
  end
end
